home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / _archive / utils / multimed / tcl-dp / tcl-dp-v.rea next >
Text File  |  1993-03-25  |  5KB  |  125 lines

  1.  
  2.               Tcl Distributed Programming (Tcl-DP)
  3.                  (Version 1.0a; March 11, 1993)
  4.  
  5.           Lawrence A. Rowe, Brian Smith, and Steve Yen
  6.                 Computer Science Division-EECS
  7.               University of California at Berkeley
  8.  
  9. This directory contains a public domain extension to Tcl/Tk
  10. called Tcl Distributed Programming (Tcl-DP).  Tcl-DP adds TCP and
  11. IP connection management, remote procedure call (RPC), and
  12. distributed object protocols to Tcl/Tk.
  13.  
  14. BACKGROUND
  15.  
  16. A C interface to the RPC primitives is also provided.  Unlike the 
  17. "send" command of Tk, Tcl-DP does not require that Tcl/Tk processes 
  18. that want to communicate must share an X server because Tcl-DP is 
  19. built upon TCP/IP.
  20.  
  21. Tcl stands for the Tool Command Language, a public domain embedded
  22. scripting language package.  Tk is an X windows interface toolkit and 
  23. widget library implemented by a collection of new commands added
  24. to Tcl.  Information about Tcl/Tk is available by anonymous ftp from
  25. sprite.berkeley.edu [128.32.150.27].  Tcl-DP was developed for 
  26. Tcl 6.5 and Tk 3.0.
  27.  
  28. This distribution contains the source code for Tcl-DP, man pages
  29. that describe the commands, and several examples that illustrate
  30. how to use Tcl-DP to build simple distributed applications.
  31. Tcl-DP is available by anonymous ftp from toe.berkeley.edu
  32. [128.32.149.117].
  33.  
  34. The Makefile creates two libraries, named libtnetwork.a and libtutil.a,
  35. that can be linked with your application programs.  The library
  36. libtnetwork.a contains the Tcl-DP extension, and the library
  37. libtutil.a contains basic utilities upon which Tcl-DP depends.
  38. To use Tcl-DP, you must initialize your Tcl interpreters with the
  39. dpInit C procedure (see network.h, and the example in main.c).
  40. After initialization, all distributed programming can be done 
  41. with Tcl commands.
  42.  
  43. Tcl/Tk supports on-demand autoloading of Tcl/Tk procedures.  Tcl-DP 
  44. adds several autoloading Tcl/Tk procedures.  They are located in the 
  45. library subdirectory.  These Tcl/Tk scripts must be copied to the 
  46. directory that contains your existing autoloading Tcl/Tk scripts, 
  47. and they must be listed in the tclIndex file in that directory.
  48.  
  49. In the examples subdirectory, several sample applications are supplied
  50. that use Tcl-DP.  As you can see from the examples, the distributed 
  51. programming mechanisms of Tcl-DP are very simple.  An RPC command, 
  52. for example, sends a Tcl command to a remote process, which evaluates 
  53. the command in the destination Tcl interpreter and returns the result 
  54. as the value of the RPC command.
  55.  
  56. A dpwish program (i.e., a wish with Tcl-DP extensions) is also supplied.  
  57. To exit dpwish, you should use the "exit" command, not the break or 
  58. interrupt keys (i.e., Ctrl-C, Ctrl-D) as this allows Tcl-DP to clean 
  59. up dangling network connections.  A solution to the graceful shutdown 
  60. problem that we use in our Tcl-DP applications is to catch the 
  61. break/kill/interrupt UNIX signals and eval the "exit" command before 
  62. halting the application.
  63.  
  64. COMPILING/USING TCL-DP
  65.  
  66. To compile the dpwish program:
  67.  
  68. +) If you do not already have Tcl 6.5 and Tk 3.0, get a copy and follow 
  69. the instructions to build the system.  Tcl-DP does not work with earlier 
  70. versions of Tcl/Tk.  
  71.  
  72. +) In the Tcl-DP directory (i.e., where this README resides), follow
  73. the configuration instructions at the start of the Makefile.  For
  74. example, you will need to edit the Makefile variables TCL_INC,
  75. TCL_LIB, ....
  76.  
  77. +) To make the dpwish program, type...
  78.  
  79.     make dpwish
  80.  
  81. This will make the libraries libtnetwork.a and libtutil.a and the 
  82. dpwish program.  If you only need the libtnetwork.a and the
  83. libtutil.a libraries, you can type...
  84.  
  85.     make libtnetwork.a
  86.     make libtutil.a
  87.  
  88. To install the autoloading Tcl/Tk scripts of Tcl-DP:
  89.  
  90. +) Copy all Tcl/Tk scripts from the Tcl-DP/library directory to the
  91. directory where Tcl/Tk stores your existing autoloading Tcl/Tk
  92. scripts.  The environment variable TCL_LIBRARY (and the Tcl 6.5
  93. Makefile) should specify where this directory is located.
  94.  
  95. +) Update the tclIndex file in that TCL_LIBRARY directory to
  96. reflect the Tcl/Tk scripts that you copied in the last step.  You
  97. can do this manually, or you can have Tcl/Tk automatically update
  98. the tclIndex file with its "auto_mkindex" command.
  99.  
  100. To learn how to use Tcl-DP:
  101.  
  102. +) Read the README file in the examples subdirectory and play with
  103. the example applications.
  104.  
  105. +) Read the Tcl-DP man page (Tcl-DP.l), and the other man pages 
  106. in the man subdirectories.
  107.  
  108. To report bugs, bug fixes, descriptions of interesting Tcl-DP 
  109. applications, and suggested improvements:
  110.  
  111. +) Send email to tcl-dp@roger-rabbit.CS.Berkeley.EDU or
  112. tcl-dp-bugs@roger-rabbit.CS.Berkeley.EDU
  113.  
  114. or
  115.  
  116. +) Post an article in the comp.lang.tcl newsgroup.
  117.  
  118. We extend our thanks to everyone who helped to create, debug, and
  119. distribute this software, including the following people:
  120.  
  121.   John Ousterhout, creator of Tcl/Tk; 
  122.   Pekka Nikander, creator of tcpConnect;
  123.   Tim MacKenzie, creator of tclRawTCP;
  124.  
  125.